OT: ORACLE problem

Otázka od: Števlík Marián

22. 11. 2002 12:15

Hi all,
Mam otazku na ORACLE specialistov v tejto konfere (pevne verim ze sa nejaky
najdu)
Mam tabulku ClientGroup v kt. su uvedeny skupiny klientov, pricom skupina
moze byt definovana ako vymenovana (potom sa ID klientov nachdazju v tabulke
ClientGroupDetail (previazanej cez IDClientGroup), alebo cez VARCHAR2 Field
s v kt. je definova Where klausula napr: ' AND IDClient IS NOT NULL'
No a potrebujem urobit univerzalnu funkciu, kt. mi najekym sposobom vrati
zoznam IDClient podla zadanej IDClientGroup (t.j. FUNCTION
GetIDClientsFromClientGroup(anIDClientGroup: NUMBER) RETURN ...) a aby sa
tato fcia dala pouzit priamo v selecte t.j.
Select ... From ... Where IDClient IN GetIDClientsFromClientGroup(...)

Zatial sa mi podarilo vytvorit tu fciu tak, ze mi vracia cursor obsahujuci
IDClient ale tuto fciu nemozem zavolat za IN

Viete mi poradit ako nato?

Stevlik Marian
Software Development Specialist
MERLIN
Stefanikova 32
150 00 Prague 5
Czech Republic
e-mail: marian.stevlik@merlin.cz
tel: +420 241010111 (181)
fax: +420 241010165
ICQ: 38493645

Odpovedá: KALUS Jozef

22. 11. 2002 13:23

s ORACLE robim ale to co chces nevie ani ORACLE, takze v ORACLE sa take
nieco robi vyskladanim stringu kde mas cely select teda napriklad
my_select:='select ..... IN ('+xx1+','+......... a potom sa priradi k
bloku kde sa da Execute_query, alebo pre Delphi priradis to nejakej
komponente... inak neviem

joka

-----Original Message-----
From: Števlík Marián [mailto:Marian.Stevlik@merlin.cz]
Sent: Friday, November 22, 2002 11:33 AM
To: Konf Delphi (el. adresa)
Subject: OT: ORACLE problem


Hi all,
Mam otazku na ORACLE specialistov v tejto konfere (pevne verim ze sa
nejaky
najdu)
Mam tabulku ClientGroup v kt. su uvedeny skupiny klientov, pricom
skupina
moze byt definovana ako vymenovana (potom sa ID klientov nachdazju v
tabulke
ClientGroupDetail (previazanej cez IDClientGroup), alebo cez VARCHAR2
Field
s v kt. je definova Where klausula napr: ' AND IDClient IS NOT NULL'
No a potrebujem urobit univerzalnu funkciu, kt. mi najekym sposobom
vrati
zoznam IDClient podla zadanej IDClientGroup (t.j. FUNCTION
GetIDClientsFromClientGroup(anIDClientGroup: NUMBER) RETURN ...) a aby
sa
tato fcia dala pouzit priamo v selecte t.j.
Select ... From ... Where IDClient IN GetIDClientsFromClientGroup(...)

Zatial sa mi podarilo vytvorit tu fciu tak, ze mi vracia cursor
obsahujuci
IDClient ale tuto fciu nemozem zavolat za IN

Viete mi poradit ako nato?

Stevlik Marian
Software Development Specialist
MERLIN
Stefanikova 32
150 00 Prague 5
Czech Republic
e-mail: marian.stevlik@merlin.cz
tel: +420 241010111 (181)
fax: +420 241010165
ICQ: 38493645
__________ Informacia od NOD32 1.331 (20021121) __________

Tato sprava bola preverena systemom NOD32 pre Exchange.
http://www.eset.sk

Odpovedá: Pavol Kakacka

22. 11. 2002 13:45

From: "Števlík Marián" <Marian.Stevlik@merlin.cz>
> No a potrebujem urobit univerzalnu funkciu, kt. mi najekym sposobom vrati
> zoznam IDClient podla zadanej IDClientGroup (t.j. FUNCTION
> GetIDClientsFromClientGroup(anIDClientGroup: NUMBER) RETURN ...) a aby sa
> tato fcia dala pouzit priamo v selecte t.j.
> Select ... From ... Where IDClient IN GetIDClientsFromClientGroup(...)
> Zatial sa mi podarilo vytvorit tu fciu tak, ze mi vracia cursor obsahujuci
> IDClient ale tuto fciu nemozem zavolat za IN

A nejde napisat nasledovne?

Select ... From ... Where ID Client IN ( select IDClientNeboCo from
GetIDClientsFromClientGroup(...) )

alebo tu fciu prijoinovat?

Kakacka Pavol
KasiX@atlas.cz

Odpovedá: ViragI@logica.com

25. 11. 2002 17:39

Ten dotaz je pomerne neprehledny. Pokud mas svazany dve tabulky pres urcite
ID (v tomto pripade IDClientGroup) a podrizena tabulka ClientDetails ma
vlastni ID (IDClient) potom neni nic lehciho nez se vyhnout funkci a napsat:

select * from ClientDetails
where IDClientGroup = <value_of_IDClientGroup>;

pripadne

select * from ClientDetails
where IDClientGroup in (LOV_of_IDClientGroup_separated_by_carka);

Pokud to tak neni, tak jsem dotaz nepochopil.

Ivan Virag

                


-----Original Message-----
From: Števlík Marián [mailto:Marian.Stevlik@merlin.cz]
Sent: Friday, November 22, 2002 11:33 AM
To: Konf Delphi (el. adresa)
Subject: OT: ORACLE problem


Mam tabulku ClientGroup v kt. su uvedeny skupiny klientov, pricom
skupina moze byt definovana ako vymenovana (potom sa ID klientov nachdazju v
tabulke ClientGroupDetail (previazanej cez IDClientGroup), alebo cez
VARCHAR2
Field s v kt. je definova Where klausula napr: ' AND IDClient IS NOT NULL'
No a potrebujem urobit univerzalnu funkciu, kt. mi najekym sposobom
vrati zoznam IDClient podla zadanej IDClientGroup (t.j. FUNCTION
GetIDClientsFromClientGroup(anIDClientGroup: NUMBER) RETURN ...) a aby
sa tato fcia dala pouzit priamo v selecte t.j.
Select ... From ... Where IDClient IN GetIDClientsFromClientGroup(...)

Zatial sa mi podarilo vytvorit tu fciu tak, ze mi vracia cursor
obsahujuci
IDClient ale tuto fciu nemozem zavolat za IN


This e-mail and any attachment is for authorised use by the intended
recipient(s) only. It may contain proprietary material, confidential
information and/or be subject to legal privilege. It should not be copied,
disclosed to, retained or used by, any other party. If you are not an intended
recipient then please promptly delete this e-mail and any attachment and all
copies and inform the sender. Thank you.